package org.lzy.shop.response

class SubmitOrderSuccessResponse {
     var id = 0
     var createTime: Any? = null
     var updateTime: Any? = null
     var userId = 0
     var title: String? = null
     var payType: Any? = null
     var payTime: Any? = null
     var orderNum: String? = null
     var status: Any? = null
     var price = 0
     var discountPrice: Any? = null
     var realPrice: Any? = null
     var discountSource: Any? = null
     var address: AddressDTO? = null
     var logistics: Any? = null
     var refund: Any? = null
     var refundStatus: Any? = null
     var refundApplyTime: Any? = null
     var remark: String? = null
     var closeRemark: Any? = null
     var invoice: Any? = null
     var wxType: Any? = null
     var goodsList: MutableList<GoodsListDTO?>? = null

    class GoodsListDTO {
        var id: Int = 0
        var createTime: Any? = null
        var updateTime: Any? = null
        var orderId: Int = 0
        var goodsId: Int = 0
        var price: Int = 0
        var discountPrice: Any? = null
        var count: Int = 0
        var remark: Any? = null
        var goodsInfo: GoodsInfoDTO? = null
        var spec: SpecDTO? = null
        var isComment: Any? = null

        class GoodsInfoDTO {
            var id: Int = 0
            var createTime: String? = null
            var updateTime: String? = null
            var typeId: Int = 0
            var title: String? = null
            var subTitle: String? = null
            var mainPic: String? = null
            var pics: MutableList<String?>? = null
            var price: Int = 0
            var sold: Int = 0
            var content: String? = null
            var recommend: Any? = null
            var featured: Any? = null
            var status: Int = 0
            var sortNum: Int = 0
            var specs: Any? = null
        }

        class SpecDTO {
            var id: Int = 0
            var createTime: String? = null
            var updateTime: String? = null
            var goodsId: Int = 0
            var name: String? = null
            var price: Int = 0
            var stock: Int = 0
            var sortNum: Int = 0
            var images: Any? = null
        }
    }

    class AddressDTO {
        var id: Int = 0
        var createTime: String? = null
        var updateTime: String? = null
        var userId: Int = 0
        var contact: String? = null
        var phone: String? = null
        var province: String? = null
        var city: String? = null
        var district: String? = null
        var address: String? = null
        var isIsDefault: Boolean = false
            private set

        fun setIsDefault(isDefault: Boolean) {
            this.isIsDefault = isDefault
        }
    }
}